/*
 * Copyright 2011-2020 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0.
 * See `LICENSE` in the project root for license information.
 */

package me.ijleex.mgmt.system.role.service;

import java.util.List;

import me.ijleex.mgmt.framework.entity.Result;
import me.ijleex.mgmt.system.role.entity.RoleMenu;

/**
 * 角色&菜单关系 服务层
 *
 * @author liym
 * @since 2019-03-14 12:28:23 By 'codegen'
 */
public interface IRoleMenuService {

    /**
     * 根据角色（roleId）得到该角色的菜单（ID）列表
     *
     * @param roleId 角色 ID
     * @return 菜单（ID）列表
     * @version 2019-03-20 12:28 getMenuIdByRoleId
     * @version 2017-03-22 21:31:45 getMenuByRole(RoleMenu object) => getMenuByRoleId(String roleId)
     * @since 2016-08-28 16:13:05
     */
    List<Long> getMenuIdByRoleId(Long roleId);

    /**
     * 为角色分配权限（菜单）
     *
     * <p>即建立角色与菜单的关联关系</p>
     *
     * @param object 角色、菜单关系信息，必须包含 roleId、menuIds 等
     * @return 返回信息
     * @version 2019-03-20 12:28
     * @since 2016-02-01 17:28:13
     */
    Result grant(RoleMenu object);

}
